#Strategy Outline:
#
#Every round, this strategy checks the average reputation of remaining players,
#and makes decisions to have a reputation equal to the average reputation,
#when restricted to the current round. Then, out of that global decision,
#there is a fixed number of 'hunts' available. These are distributed among the
#players with highest hunting reputation.

def hunt_choices(round_number, current_food, current_reputation, m,
            player_reputations):
    
    if round_number == 1: return ['h']*len(player_reputations)
  
    average_reputation = sum(player_reputations)/len(player_reputations)
  
    sorted_reputations = sorted(player_reputations, reverse=True)
    cutoff = sorted_reputations[int(sum(player_reputations))-1]
    
    hunt_decisions = ['h' if i>cutoff else 's' for i in player_reputations]
    for i in [i for i,j in enumerate(player_reputations) if j==cutoff][:new_hunts-len(filter(lambda x:x=='h', hunt_decisions))]:
        hunt_decisions[i] = 'h'
        
    return hunt_decisions

def hunt_outcomes(food_earnings):
    pass # do nothing

def round_end(award, m, number_hunters):
    pass # do nothing